﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComunesMGI.DataTypes;
using ComunesMGI.Enum;

namespace ClienteWinMGI.AccesoDatos
{
    public interface IMGIIncidentes
    {
       
        List<DataIncidente> GetIncidentes(int idSis);
        
        List<DataTarea> GetTareas(int sistema, int incidente);
        bool AsignarResposable(int sistema, int incidente, DataTarea tarea, DataUsuario usuario);
        List<DataCampo> GetCampos(int idSistema, Lista lista);
        DataAltaIncidente AddIncidente(DataSistema incidente, List<string> archivos);
       

        int AddWorkPackage(int idSis, DataWP wp);
        
        
        List<DataWP> GetWorkPackages(int idSistema);
        
        
        void AsociarIncidentesWP(int idSis, int idWP, List<int> incidentes);
        
        List<DataIncidenteReporte> GetIncidentesCerradosPeriodo(List<int> sistemas, DateTime fechaDesde, DateTime fechaHasta);
        
        List<DataIncidente> GetIncidentesWP(int idSis, int idWP);

        List<DataEstadoWP> GetEstadosWP();

        bool ChkWPIncidentesOTareasSinCerrar(int idWP);

        void ModificarWP(DataWP wp, bool cerrarTodo);

        List<DataIncidenteReporte> VisualizarIncidentesAsignados(List<int> idSis, string usr,string estado, DateTime fechaDesde, DateTime fechaHasta);

        List<DataIncidente> GetIncidentesAsignablesWP(int wkpCod);

        DataAltaTarea AddTarea(int siscod, int idIncidente, List<DataCampo> campos);

        List<DataIncidenteReporte> GetIncidentesCreadosPeriodo(List<int> sistemas, DateTime fechaDesde, DateTime fechaHasta);
    }
}
